package com.ys.erp.common.enums;

import lombok.AllArgsConstructor;
import lombok.Getter;

import java.util.HashMap;
import java.util.Map;

/**
 * @author lwj
 * @date 2024/9/4
 */

public class RecordLogEnum {

    @AllArgsConstructor
    @Getter
    public enum Enums {

        //审批日志title
        REIMBURSEMENT_TITLE_START,
        REIMBURSEMENT_TITLE_CEO_AUDIT,
        REIMBURSEMENT_TITLE_FINANCE_AUDIT,
        REIMBURSEMENT_TITLE_CASHIER_AUDIT,
        REIMBURSEMENT_TITLE_PARENT_AUDIT,
        REIMBURSEMENT_TITLE_UPLOAD_VOUCHER,
        REIMBURSEMENT_TITLE_PRINT,
        REIMBURSEMENT_TITLE_ALTER_FORM,

        //审批相关
        REIMBURSEMENT_RECORD_START,
        REIMBURSEMENT_CANCEL,
        REIMBURSEMENT_RECORD_REPAIR_VOUCHER,
        REIMBURSEMENT_RECORD_AUDIT_PASS,
        REIMBURSEMENT_PRINT_CONTENT,
        REIMBURSEMENT_ALTER_FORM,
        REIMBURSEMENT_RECORD_AUDIT_REJECT;

    }

    public static final Map<String, String> ENUM_MAP = new HashMap<>();

    static {
        //审批日志title
        ENUM_MAP.put(Enums.REIMBURSEMENT_TITLE_START.toString(), "发起申请");
        ENUM_MAP.put(Enums.REIMBURSEMENT_TITLE_CEO_AUDIT.toString(), "CEO审批");
        ENUM_MAP.put(Enums.REIMBURSEMENT_TITLE_FINANCE_AUDIT.toString(), "财务审批");
        ENUM_MAP.put(Enums.REIMBURSEMENT_TITLE_CASHIER_AUDIT.toString(), "财务打款");
        ENUM_MAP.put(Enums.REIMBURSEMENT_TITLE_PARENT_AUDIT.toString(), "上级审批");
        ENUM_MAP.put(Enums.REIMBURSEMENT_TITLE_UPLOAD_VOUCHER.toString(), "上传发票");
        ENUM_MAP.put(Enums.REIMBURSEMENT_TITLE_PRINT.toString(), "打印");
        ENUM_MAP.put(Enums.REIMBURSEMENT_TITLE_ALTER_FORM.toString(), "修改表单");
        //审批相关
        ENUM_MAP.put(Enums.REIMBURSEMENT_RECORD_START.toString(), "发起");
        ENUM_MAP.put(Enums.REIMBURSEMENT_RECORD_REPAIR_VOUCHER.toString(), "上传发票/凭证");
        ENUM_MAP.put(Enums.REIMBURSEMENT_RECORD_AUDIT_PASS.toString(), "审批通过");
        ENUM_MAP.put(Enums.REIMBURSEMENT_RECORD_AUDIT_REJECT.toString(), "审批驳回");
        ENUM_MAP.put(Enums.REIMBURSEMENT_PRINT_CONTENT.toString(), "打印内容");
        ENUM_MAP.put(Enums.REIMBURSEMENT_CANCEL.toString(), "撤回");
        ENUM_MAP.put(Enums.REIMBURSEMENT_ALTER_FORM.toString(), "修改表单：\n");
    }

    public static boolean isContainsKey(String url) {
        return ENUM_MAP.containsKey(url);
    }

}
